package org.apache.rocketmq.store;

import org.apache.rocketmq.common.message.MessageExt;

import java.util.concurrent.CompletableFuture;

public interface FlushManager {

    void start();

    void shutdown();

    void wakeUpFlush();

    void wakeUpCommit();

    void handleDiskFlush(AppendMessageResult result, PutMessageResult putMessageResult, MessageExt messageExt);

    CompletableFuture<PutMessageStatus> handleDiskFlush(AppendMessageResult result, MessageExt messageExt);
}
